---
title: File field
summary: The file field is used to store a file.
---
{% field-demo field="file" /%}

The `file` field is used to store a file. In the Admin UI it renders a file picker component.

In [local storage mode](/docs/local-mode), the file will be saved in your repository. In [github storage mode](/docs/github-mode), the file will be committed into the repository.

## Storage options

You can optionally specify a `directory` from your project tree to store the file in. This is useful when you want your files in a `public` or `static` directory, to adhere to conventions for a specific framework.

There's also an optional `publicPath` that lets you define how the file path should be retrieved when reading the value of the field.

## Example usage

```typescript
resume: fields.file({
  label: 'Resume',
  description: 'Summary of qualifications for this job applicant',
  // This will output the files in the "public" directory
  directory: 'public/files/resumes',
  publicPath: '/files/resumes/'
})
```

## Type signature

Find the latest version of this field's type signature at: [https://docsmill.dev/npm/@keystatic/core@latest#/.fields.file](https://docsmill.dev/npm/@keystatic/core@latest#/.fields.file)
